Methods and systems for selecting a buddy from a buddy list and for placing call to a buddy

ABSTRACT

There is described a provides a method for selecting a buddy with which a user wants to connect. The buddy having a buddy identification being listed in a pre-identified group of Internet-accessible destinations. The user using a user telephone means to which is associated identification information. The method comprises: initiating a call from the user telephone means to an Internet-enabled computing device, the call having associated thereto calling line identification (CLID) information; comparing the CLID information to the user telephone means identification information; validating the CLID information using the comparison upon positive validation, the user providing the buddy identification; consulting the pre-identified group of Internet-accessible destinations for a match between the buddy identification and one of the Internet-accessible destinations; and advising the user of a successful or unsuccessful match. Alternatively, a call is placed to a party which does not necessarily belong to a pre-identified group of Internet-accessible destinations.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application claims priority of the U.S. provisional PatentApplication No. 60/807,287, entitled “Dial-by-Buddy” filed on Jul. 13,2006; and of the U.S. provisional Patent Application No. 60/807,277,entitled “Auto-Login by Calling Line Identification (CLID)” filed onJul. 13, 2006. The specifications and drawings of both applications arehereby incorporated by reference.

TECHNICAL FIELD

The description relates generally to telephone services. Morespecifically, the context is Internet telephone.

BACKGROUND OF THE ART

Currently, buddy lists are primarily used to facilitate communicationfrom an Internet-enabled device. For example, one can also place a callto a buddy on a buddy list, which can be done by selecting the buddy inquestion and selecting (e.g., clicking, touching) an icon, whichinitiates the call from the Internet-enabled device. The device thusbecomes a Voice over Internet Protocol (VoIP) endpoint for the telephonecall. However, when the user does not have an Internet-enabled device,it is not conventionally possible to access the buddy list, let alonedirectly initiate telephone calls to a selected buddy on the buddy list.

Accordingly, there is a need for improved Internet telephone services.

SUMMARY

In one aspect, the present description provides a method for selecting abuddy with which a user wants to connect. The buddy having a buddyidentification being listed in a pre-identified group ofInternet-accessible destinations. The user using a user telephone meansto which is associated identification information. The method comprises:initiating a call from the user telephone means to an Internet-enabledcomputing device, the call having associated thereto calling lineidentification (CLID) information; comparing the CLID information to theuser telephone means identification information; validating the CLIDinformation using the comparison upon positive validation, the userproviding the buddy identification; consulting the pre-identified groupof Internet-accessible destinations for a match between the buddyidentification and one of the Internet-accessible destinations; andadvising the user of a successful or unsuccessful match.

In a second aspect, the present description provides a method forplacing a call between user telephone means and a buddy telephone means,the buddy telephone means being internet-enabled and being identifiableby coordinates, the user telephone means having associated theretoidentification information, the method comprising: initiating a callfrom the user telephone means to an Internet-enabled computing device,the call having associated thereto calling line identification (CLID)information; comparing the CLID information to the user telephone meansidentification information; validating the CLID information using thecomparison; upon positive validation, the user providing the coordinatesof the buddy telephone means; and placing the call between the usertelephone means and the buddy telephone means corresponding to thecoordinates.

In a third aspect, the present description provides a system forselecting a buddy with which a user wants to connect, the buddy having abuddy identification, the user using a user telephone means to which isassociated identification information, the buddy identification beinglisted in a pre-identified group of Internet-accessible destinations,the system comprising: an input for receiving and the buddyidentification and calling line identification CLID information of acall from the user telephone means to an Internet-enabled computingdevice; a database for storing the user telephone means identificationinformation and the pre-identified group of Internet-accessibledestinations; and the Internet-enabled computing device for comparingthe CLID information to user-specific information; for validating theCLID information using the comparison; upon positive validation, forreceiving the buddy identification; consulting the pre-identified groupof Internet-accessible destinations for a match with between the buddyidentification and one of the Internet-accessible destinations; and foradvising the user of a successful or unsuccessful match.

In a fourth aspect, the present description provides a system forplacing a call between user telephone means and a buddy telephone means,the buddy telephone means being internet-enabled and being identifiableby coordinates, the user telephone means having associated theretoidentification information, the system comprising: an input forreceiving calling line identification CLID information of an initialcall from the user telephone means to an Internet-enabled computingdevice, and the coordinates of the buddy telephone means; a database forstoring the user telephone means identification information; and theInternet-enabled computing device for comparing the CLID information touser-specific information; for validating the CLID information using thecomparison; upon positive validation, for receiving the coordinates ofthe buddy telephone means; and for placing the call between the usertelephone means and the buddy telephone means corresponding to thecoordinates.

Further details of these and other aspects will be apparent from thedetailed description and figures included below.

DESCRIPTION OF THE DRAWINGS

Reference is now made to the accompanying Figures depicting aspects ofthe present description, in which:

FIG. 1 is a block diagram providing an overview of the environment inwhich embodiments of the buddy selection and buddy calling systems andmethods are implemented; and

FIG. 2 is a flow chart illustrating an exemplary embodiment of a methodfor selecting a buddy from a buddy list; and

FIG. 3 is a flow chart illustrating an exemplary embodiment of a methodfor placing a call to a buddy.

DETAILED DESCRIPTION

Turning to FIG. 1, there is shown user telephone means 100, buddytelephone means 102, and Internet-enabled computing device 106 that maybe linked through telephony network 104. The buddy telephone means 102is therefore reachable through the telephony network via a given number.Internet-enabled computing device 106 may also be linked to InternetProtocol (IP) based network 114 (e.g., the Internet). Furthermore, buddytelephone means 102 may also be linked to IP-based network 114. Thelinks between the foregoing components can be wire-based or wireless.Telephony Network 104 can be any type of network adapted to communicatewith user telephone means 100, buddy telephone means 102, andInternet-enabled computing device 106 such as a Public SwitchedTelephone Network (PSTN), an Internet Protocol (IP) network or anycombination of the two. FIG. 1 further shows Internet-enabled computingdevice 106 in communication with database 108.

The buddy selection system 110 (also referred to herein as the systemfor selecting a buddy) comprises, in an embodiment, Internet-enabledcomputing device 106 and database 108. The person skilled in the artwill understand that it is not essential that Internet-enabled computingdevice 106 and database 108 be embodied in a single machine or even in asingle location. The components of system 110 can be in various machinesor in various locations.

Internet-enabled computing device 106 is shown as hosting specializedapplication 112 which will be discussed in further detail below.Internet-enabled computing device 106 is also shown as hosting Internettelephony application 116 which allows Internet-enabled computing device106 to act as a Internet-enabled telephone or a regular phone dependingon which network it accesses.

Specialized application 112 allows a user to access informationavailable on the user's computer (e.g., Internet-enabled computingdevice 106) or Internet 114, by dialling in from a phone (e.g., usertelephone means 100) associated with a specific phone number. Thepresent method and system use calling line identification (CLID)information associated with an incoming call to establish the identityof the user. The CLID Information can pertain to a telephone (alsoreferred to herein as user telephone means 100) likely or expected to beused by the user, which can include a Public Switched Telephone Network(PSTN) phone or a mobile phone or a Voice over Internet Protocol (VoIP)phone.

The presently described method allows a user to query a specializedsoftware application 112 using any phone in order to select a buddy tospeak to without having to access the Internet. Of course, the methodapplies to any scenario where a user who has access to a regular phone(i.e., not necessarily Internet-enabled) wishes to place a call tosomeone in a pre-identified group of Internet-accessible destinations.The pre-identified group of internet-accessible destinations includesbuddy-type contacts in Microsoft™ Outlook™, MSN™ Messenger™ and similarprograms, or any other Internet buddy contacts. The destinations alsoinclude buddy contacts associated to a telephone number of anynetwork-enabled telephone such as a PSTN telephone.

In an example, the specialized software application runs on a computer(Internet-enabled computing device 106) that can be the user's homecomputer or that can be a computer hosted elsewhere. One non-limitingexample of specialized software application 112 can be installedtogether with Internet telephony software application 116 (e.g., Skype)and online communications software application 118 (e.g., IM/Messenger,email/Outlook,) on a users Internet-enabled computing device 106. Aftera call is received at the user's VoIP number (e.g., “Skype-in” when theInternet telephone software is Skype) from any phone and handled by theInternet telephony software application 116, the specialized softwareapplication 112 intervenes and recognizes that the user has himselfdialled his own VoIP number (e.g., based on calling line identification(CLID)). An authentication step (not shown) may be provided to confirmthe identity of the user and ensure that further access is permitted.

The specialized software application 112 then prompts the user to querya buddy by, e.g., entering the first three letters of a desiredindividual's first name or last name or nickname or account name orpseudonym. In the case of a touch-tone phone, queries can be effectedusing DTMF tones (e.g., suitable for PSTN phone) orshort-message-service-type (SMS-type) messages (e.g., suitable formobile phone), whereas in the case of a rotary dial phone or in fact anyphone, queries can be effected using speech commands that are recognizedby speech recognition software (not shown) installed on the computer orthe phone.

The specialized software application 112 then consults the onlinecommunications software 118 to check if there is a matching name in thebuddy list maintained by the online communications software 118. If theanswer is positive, the specialized software application 112 sends theresult (e.g., the matching buddy's first name or last name or nicknameor account name or pseudonym) to the user for confirmation. For example,the result can be transmitted in the form of voice playback (e.g.,text-to-speech or pre-recorded sounds that enunciate the matching name)or sound files (e.g., wav/mpeg) or via SMS, among other possibilities.If there is more than one number at which the buddy can be called, or ifmore than one person with the same first name or last name or nicknameor account name or pseudonym, the specialized software application 112may announce all matches so the caller can choose the correct number orbuddy.

The specialized software application 112 may also tell the user thecorresponding code number for the desired buddy. This may be done usingtext-to-speech, for example. The caller then dials the code number to beconnected to the desired buddy, or simply sends a confirmation commandto indicate an intent to reach the desired buddy. Specifically, thespecialized software application 112 consults database 108 (which can bemaintained by the online communications software 118) to determine thetelephone number associated with the desired buddy. To establish thecall, in a specific non-limiting embodiment, the specialized softwareapplication 112 cooperates with the Internet telephone software to placea three-way conference call to patch in the desired buddy, with the userremaining on the line. Once the desired buddy has answered the call, thespecialized software application 112 drops out of the call. Other waysof establishing a call are of course within the scope of the invention.

By announcing the code number, the user is “trained” to learn or notethe code number for future reference. To this end, an option may beprovided that the user simply enters the buddy's code number when firstaccessing the specialized software application 112, which bypasses thequery procedure referred to above.

It is noted that in accordance with the present description, the usereffects name dialling to call buddies based on the buddy list (asopposed to using name dialling to select extensions based on a PrivateBranch Exchange (PBX) directory). The specialized software application112 can also initiate a callback when a desired buddy has beenidentified. Thus, the aforesaid three-way conference can be initiated bythe specialized software application 112 by first contacting the userand then the desired buddy. In another variant of the call back feature,the callback is initiated earlier in the process, possibly even beforethe authentication step (callback to the number from which the user iscalling), and the user proceeds to identify the buddy from there.

It is noted that the callback feature may have particular advantageswhen the user subscribes to an “unlimited Incoming calls” plan. Also, anoption is provided where by the callback is made to a different numberthan the one from which the user is calling or from the numberregistered to the user.

In a variant of the above, the present method allows a user to query thespecialized software application 112 using any phone in order to dialout using the Internet telephone software but without having to accessto the Internet. In this variant, the called party does not necessarilybelong to a pre-identified group of Internet-accessible destinations.

One non-limiting example of the specialized software application inaccordance with this variant can be installed together with Internettelephone software (e.g., Skype) on a user's Internet-enabled computingdevice 106. However, there is no need to access a buddy list maintainedby online communications software 118. After a call is received at theuser's VoIP number (e.g., “Skype-in” when the Internet telephonesoftware is Skype) from any phone and handled by the Internet telephonysoftware application 116, the specialized software application 112intervenes and recognizes that the user has himself dialled his own VoIPnumber. An authentication step may be provided to confirm the identityof the user and ensure that further access is permitted.

The specialized software application 112 then prompts the user to enterthe coordinates of any Internet-enabled destination party (e.g., aSkypeOut number, also referred to herein as buddy telephone means 102).This could be in the form of dialling a phone number or providing anInternet address or resolvable name. In the case of a touch-tone phone,queries can be effected using DTMF tones (e.g., suitable for PSTN phone)or short-message-service-type (SMS-type) messages (e.g., suitable formobile phone), whereas in the case of a rotary dial phone or in fact anyphone, queries can be effected using speech commands that are recognizedby speech recognition software installed on the computer or the phone.

The specialized software application 112 then cooperates with theInternet telephony software application 116 to place the call to thedestination. To establish the call, in a specific non-limitingembodiment, the specialized software application 112 places a three-wayconference call to patch in the destination while the user stays on theline. Once the call has been answered, the specialized softwareapplication 112 drops out of the call. Other ways of establishing a callare of course within the scope of the invention.

The specialized software application 112 can also initiate a callbackafter specifying the destination phone number. Thus, the aforesaidthree-way conference can be initiated by the specialized softwareapplication 112 by first contacting the user and then the destinationparty. In another variant of the call back feature, the callback isinitiated earlier in the process, possibly even before theauthentication step (callback to the number from which the user iscalling), and the user proceeds to dial the destination number fromthere.

It is noted that the callback feature may have particular advantageswhen the user subscribes to an “unlimited incoming calls” plan. Also, anoption is provided where by the callback is made to a different numberthan the one from which the user is calling or from the numberregistered to the user.

It is noted that in accordance with this variant, a user who has a VoIP“in” number can dial it from any mobile (or receive a call back), andthen use this connection to his own number/computer to further dial outover the Internet. This allows the fee structure of a wireless providerto be completely bypassed.

Now turning to FIG. 2, there is shown an embodiment of method 200 forselecting a buddy with which a user wants to connect. The context isthat a buddy has a buddy identification which is listed in apre-identified group of Internet-accessible destinations, and the useruses a user telephone means to which is associated identificationinformation. The user telephone means may or may not have Internetcapabilities such as the capacity to connect with any network orcombination of networks; PSTN, VoIP, or Skype for example.

Method 200 comprises, at step 202, initiating a call from the usertelephone means to an Internet-enabled computing device. The call hasassociated thereto calling line identification (CLID) information. Then,at step 204, a comparison of the CLID information to the user telephonemeans identification information is performed. Step 206 validates theCLID information using the comparison. Upon positive validation, theuser provides the buddy identification (step 208). Step 210 Is forconsulting the pre-identified group of Internet-accessible destinationsfor a match between the buddy identification and one of theInternet-accessible destinations. Finally, method 200 comprises advisingthe user of a successful or unsuccessful match (step 212).

Now turning to FIG. 3, there is shown an embodiment of method 300 forplacing a call between user telephone means and a buddy telephone means.The context is that the buddy telephone means is internet-enabled and isidentifiable by coordinates. Furthermore, the user telephone means hasassociated thereto identification information.

Method 300 comprises, at step 302, initiating a call from the usertelephone means to an Internet-enabled computing device. The call hasassociated thereto calling line identification (CLID) information. Then,at step 304, a comparison of the CLID information to the user telephonemeans identification information is performed. Step 306, validates theCLID information using the comparison. Upon positive validation, theuser provides the coordinates of the buddy telephone means (step 308).Finally, method 300 comprises placing the call between the usertelephone means and the buddy telephone means corresponding to thecoordinates (step 310).

The above description is meant to be exemplary only, and one skilled inthe art will recognize that changes may be made to the embodimentsdescribed without department from the scope of the invention disclosed.Modifications which fall within the scope of the present invention willbe apparent to those skilled in the art, in light of a review of thisdisclosure, and such modifications are intended to fall within theappended claims.

1. A method for selecting a buddy with which a user wants to connect,the buddy having a buddy identification being listed in a pre-identifiedgroup of Internet-accessible destinations, the user using a usertelephone means to which is associated identification information, themethod comprising: initiating a call from the user telephone means to anInternet-enabled computing device, the call having associated theretocalling line identification (CLID) information; comparing the CLIDinformation to the user telephone means identification information;validating the CLID information using the comparison; upon positivevalidation, the user providing the buddy identification; consulting thepre-identified group of Internet-accessible destinations for a matchbetween the buddy identification and one of the Internet-accessibledestinations; and advising the user of a successful or unsuccessfulmatch.
 2. The method of claim 1, wherein upon successful match betweenthe buddy identification and one of the Internet-accessibledestinations, placing a call to a buddy telephone means associated withthe buddy.
 3. The method of claim 2, wherein establishing the callcomprises placing a three-way conference call between the user telephonemeans, the buddy telephone means and the Internet-enabled computingdevice.
 4. The method of claim 3, wherein once the buddy telephone meansis off-hook, the Internet-enabled computing device drops out of thecall, thereby leaving a two-way connection between the user telephonemeans and the buddy telephone means.
 5. The method of claim 3, whereinplacing a three-way conference call comprises calling back one of: theuser telephone means and another telephone means.
 6. The method of claim1, further comprising, upon positive validation, prompting the user toprovide the buddy identification.
 7. The method of claim 5, whereinproviding the buddy identification comprises at least one of using akeypad on the user telephone means to enter letters related to the buddyidentification, using the keypad on the user telephone means to enterDTMF tones related to the buddy identification, using the keypad on theuser telephone means to enter numbers related to the buddyidentification, using a keypad on the user telephone means to enter ashort-message-service-type message related to the buddy identification,and using speech commands related to the buddy identification over theuser telephone means.
 8. The method of claim 1, further comprising usingthe Internet-enabled computing device to advise the user of a code toprovide to identify the buddy.
 9. The method of claim 1, furthercomprising, prior to initiating the call, the user registeringinformation identifying the user telephone means in a databaseaccessible to the Internet-enabled computing device.
 10. The method ofclaim 9, wherein the registering further comprises registering anassociation between the user and one or more specific telephone numbersthat the user expects to use.
 11. The method of claim 9, wherein theregistering further comprises registering authentication credentials.12. The method of claim 11, further comprising, prior to the validation,performing an authentication using the authentication credentials toconfirm the identity of the user.
 13. A method for placing a callbetween user telephone means and a buddy telephone means, the buddytelephone means being internet-enabled and being identifiable bycoordinates, the user telephone means having associated theretoidentification information, the method comprising: initiating a callfrom the user telephone means to an Internet-enabled computing device,the call having associated thereto calling line identification (CLID)information; comparing the CLID information to the user telephone meansidentification information; validating the CLID information using thecomparison; upon positive validation, the user providing the coordinatesof the buddy telephone means; and placing the call between the usertelephone means and the buddy telephone means corresponding to thecoordinates.
 14. The method of claim 13, wherein providing thecoordinates of the buddy telephones means comprises at least one ofusing a keypad on the user telephone means to enter letters related tothe coordinates, using the keypad on the user telephone means to enterDTMF tones related to the coordinates, using the keypad on the usertelephone means to enter numbers related to the coordinates, using akeypad on the user telephone means to enter a short-message-service-typemessage related to the coordinates, and using speech commands related tothe coordinates over the user telephone means.
 15. A system forselecting a buddy with which a user wants to connect, the buddy having abuddy identification, the user using a user telephone means to which isassociated identification information, the buddy identification beinglisted in a pre-identified group of Internet-accessible destinations,the system comprising: an input for receiving and the buddyidentification and calling line identification CLID information of acall from the user telephone means to an Internet-enabled computingdevice; a database for storing the user telephone means identificationinformation and the pre-identified group of Internet-accessibledestinations; and the Internet-enabled computing device for comparingthe CLID information to user-specific information; for validating theCLID information using the comparison; upon positive validation, forreceiving the buddy identification; consulting the pre-identified groupof Internet-accessible destinations for a match with between the buddyidentification and one of the Internet-accessible destinations; and foradvising the user of a successful or unsuccessful match.
 16. The systemof claim 15, wherein the Internet-enabled computing device furthercomprises a calling device for placing a call to a buddy telephone meansassociated with the buddy upon successful match between the buddyidentification and one of the Internet-accessible destinations.
 17. Thesystem of claim 15, wherein the Internet-enabled computing devicefurther comprises a prompting device for prompting the user to providethe buddy identification upon positive validation.
 18. The system ofclaim 15, further comprising an output device for advising the user of acode to provide to identify the buddy.
 19. The system of claim 15,wherein the input comprises an input for receiving user registrationinformation prior to initiating the call, the user registrationinformation identifying the user telephone means in the databaseaccessible to the Internet-enabled computing device.
 20. The system ofclaim 19, wherein the registration information comprises an associationbetween the user and one or more specific telephone numbers that theuser expects to use.
 21. The system of claim 19, wherein theregistration information further comprises authentication credentials.22. The system of claim 18, wherein the further comprising anauthenticating device for performing an authentication using theauthentication credentials to confirm an identity of the user prior tothe validation.
 23. A system for placing a call between user telephonemeans and a buddy telephone means, the buddy telephone means beinginternet-enabled and being identifiable by coordinates, the usertelephone means having associated thereto identification information,the system comprising: an input for receiving calling lineidentification CLID information of an initial call from the usertelephone means to an Internet-enabled computing device, and thecoordinates of the buddy telephone means; a database for storing theuser telephone means identification information; and theInternet-enabled computing device for comparing the CLID information touser-specific information; for validating the CLID information using thecomparison; upon positive validation, for receiving the coordinates ofthe buddy telephone means; and for placing the call between the usertelephone means and the buddy telephone means corresponding to thecoordinates.